/*=+--+=#=+--     Unmanned Aerial System Management Software      --+=#=+--+=#*\
|          Copyright (C) 2011 Regents of the University of Colorado.           |
|                             All Rights Reserved.                             |

     This program is free software: you can redistribute it and/or modify
     it under the terms of the GNU General Public License version 2 as
     published by the Free Software Foundation.

     This program is distributed in the hope that it will be useful,
     but WITHOUT ANY WARRANTY; without even the implied warranty of
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     GNU General Public License for more details.

     You should have received a copy of the GNU General Public License
     along with this program.  If not, see <http://www.gnu.org/licenses/>.

            Jack Elston                       Cory Dixon                        
|           elstonj@colorado.edu              dixonc@colorado.edu              |
|                                                                              |
\*=+--+=#=+--                 --+=#=+--+=#=+--                    --+=#=+--+=#*/

/***********************************************************************
 *                      
 * FILENAME:
 * definedCommands.cxx
 *
 * PURPOSE:
 * Contains the defined command list
 *
 * LAST MODIFIED:
 * 11/18/2000 	- Created by Cory
 * 2/8/2002 	- Moved from TornadoChaser to Avionics 
 * 12/8/2003 	- Moved from Avionics to FLIB
 *
 ***********************************************************************/

#ifndef _DEFINEDCMD_H
#define _DEFINEDCMD_H

// Defines the structure of the payload commands
#include "commandStruct.h"

    /**********************\
    |        servo         |
    \**********************/ 
#define CMD_JOYSTICK            0x10
#define CMD_SERVO               0x11
#define CMD_BUTTONS             0x12

    /**********************\
    |         imu          |
    \**********************/

#define CMD_IMU                 0x20
#define CMD_IMU_ANG             0x21
#define CMD_IMU_RATE            0x22
#define CMD_IMU_ACC             0x23
#define CMD_MAG_TELEM           0x24
#define CMD_RSSI_TELEM          0x25

    /**********************\
    |      air data        |
    \**********************/

#define CMD_AIR_DATA            0x30
#define CMD_WIND                0x31

    /**********************\
    |        gps           |
    \**********************/

#define CMD_GPS                 0x40
#define CMD_GPS_LATLON          0x41
#define CMD_GPS_ALT             0x42
#define CMD_GPS_UTC             0x43
#define CMD_GPS_TRACK           0x44
#define CMD_GPS_SOG             0x45
#define CMD_GPS_ACCURACY        0x46
#define CMD_GPS_TELEM           0x47
#define CMD_GPS_LLA             0x48

    /**********************\
    |    communications    |
    \**********************/

#define CMD_COMM                0x50
#define CMD_LINK_STATUS         0x51
#define CMD_RATE_TEST           0x52
#define CMD_CHAT                0x53
#define CMD_CONNECT             0x54

    /**********************\
    |       payload        |
    \**********************/

#define CMD_PAYLOAD             0x60
#define CMD_PTH                 0x61
#define CMD_SONDE               0x62

    /**********************\
    |  health and status   |
    \**********************/

#define CMD_H_AND_S             0x70
#define CMD_ROOMBA_STATUS       0x71

    /**********************\
    |      autopilot       |
    \**********************/

#define CMD_AUTOPILOT           0x80
#define CMD_GOTO_WP             0x81
#define CMD_FP                  0x82
#define CMD_TELEM               0x83
#define CMD_AP_RATES            0x84
#define CMD_FP_SUBS             0x85
#define CMD_ALT_LOOP            0x86
#define CMD_IAS_LOOP            0x87
#define CMD_BANK_LOOP           0x88

    /**********************\
    |   flight computer    |
    \**********************/

#define CMD_FLIGHT_COMPUTER     0x90
#define CMD_ACK                 0x91
#define CMD_FAIL                0x92
#define CMD_COORDINATE          0x93
#define CMD_CUSTODY             0x94
#define CMD_TRACK               0x95
#define CMD_PHASE               0x96
#define CMD_SEARCH              0x97
#define CMD_RETURN              0x98
#define CMD_FORMATION           0x99
#define CMD_CHAIN               0x9A
#define CMD_CHAIN_GAINS         0x9B
#define CMD_ORBIT_VALUES        0x9C
#define CMD_START               0x9D
#define CMD_STOP                0x9E
#define CMD_TARGET_STATUS       0x9F

    /**********************\
    |     system wide      |
    \**********************/

#define CMD_SYS_MSG             0xA0
#define CMD_CAPABILITY          0xA1
#define CMD_STREAM_REQ          0xA2

    /**********************\
    |     GUI              |
    \**********************/
#define CMD_GUI                 0xB0
#define CMD_GUI_CMD             0xB1

    /**********************\
    |  Tracking Antenna    |
    \**********************/

#define CMD_ANT_TRACK           0xC0
#define CMD_ANT_PAS_TELEM       0xC1
#define CMD_ANT_APS_TELEM       0xC2
#define CMD_ANT_SETTINGS        0xC3
#define CMD_ANT_STATE           0xC4

    /**********************\
    |   Deploy Mechanism   |
    \**********************/
#define CMD_DEPLOY              0xC0
#define CMD_DEPLOY_STATUS       0xC1
#define CMD_DEPLOY_PEG          0xC2

    /**********************\
    |         CUPIC        |
    \**********************/
#define CMD_CUPIC               0xD0
#define CMD_LEDS                0xD1
#define CMD_DEBUG               0xD2
#define CMD_CUPIC_DATA          0xD3
#define CMD_HOUSE_KEEPING       0xD4
#define CMD_HIGH_SPEED          0xD5

#endif /* _DEFINEDCMD_H */
